If you have any issue or question that this document does not cover, you can contact me via email mlinar73@gmail.com.
You can view this template in any web browser from your computer, mobile device. Because the files are written in HTML, you do not need an internet connection in order to display or edit the template.
All of the HTML files are given a descriptive name to make it easier to distingish what each file will display.
This site template has a Responsive and Mobile-Friendly layout based on Bootstrap Boilerplate.
The main structure of this site is wrapped in a 'subpages' div. Inside of that div you will find sections of the site.

The structure of this page is wrapped in '.blog-post-page' div.
I'm using one main CSS file (style.css) in this template which you are free to modify depending on the customization you require.
If you would like to edit the color, font, or style of any elements, you would do the following in css/main.css :

If you would like to edit a specific section or page of the site, simply find the appropriate label in the CSS file, and then scroll down until you find the appropriate style that needs to be edited.
There are also five additional style sheets that I do not recommend changing. Those style sheets reside in the 'css' folder. The 5 style sheets are:
These files are included in the 'head' of index.html and blog-post-1.html:

This template uses several scripts. If you're a developer, you will find this particularly useful.
This template also use the PHP engine for activate the contact form.
For contact us data direct send to your email address you can edit your email address in /contact_form/contact_form.php file.

Additionally, the contact form uses anti-spam protection - Google Recaptcha V2. By default, the template uses global Google Recaptcha V2 keys with an average level of protection, if you want to use your keys, you can find out how to do it here.
Images (Just on live preview, not included in download package):
Videos
The image file stored in the 'image' folder, its name my_photo.jpg. Recommended size is 960 on 1050px (height 960px, width 1050px).
If you want to use a different file name:
<img src="images/my_photo.jpg" alt="image">.
<h1 class="site-title">Alex Smith</h1>.
<section class="pt-page pt-page-1" data-id="about_me">
<h2 class="section-title">About Me</h2>
<section class="pt-page pt-page-1" data-id="about_me">
<div class="section-title-block">
<h2 class="section-title">About Me</h2>
<h5 class="section-description">Artist, Thinker, Creative Doer</h5>
</div>
<div class="row">
Our content...
</div>
</section>
In my demo 5 sections:
As you can see in the sections change class="pt-page pt-page-" and attribute data-id. These values we need for the operation of the site navigation (main menu and the browser buttons "go back" and "go forward").
<section class="pt-page pt-page-6" data-id="services">
<div class="section-title-block">
<h2 class="section-title">Services</h2>
<h5 class="section-description">What I Can Do</h5>
</div>
<div class="row">
Our new content...
</div>
</section>
<!-- Main menu -->
<ul id="nav" class="site-main-menu">
<!-- About Me Subpage link -->
<li<
<a class="pt-trigger" href="#about_me" data-animation="58" data-goto="1">About me</a>>!-- href value = data-id without # of .pt-page -->
</li>
<!-- /About Me Subpage link -->
<li>
<a class="pt-trigger" href="#resume" data-animation="59" data-goto="2">Resume</a>
</li>
<li>
<a class="pt-trigger" href="#portfolio" data-animation="60" data-goto="3">Portfolio</a>
</li>
<li>
<a class="pt-trigger" href="#blog" data-animation="61" data-goto="4">Blog</a>
</li>
<li>
<a class="pt-trigger" href="#contact" data-animation="58" data-goto="5">Contact</a>
</li>
</ul>
<!-- /Main menu -->
Where data-animation="*" is the number of animation effect, data-goto is the number of 'section'. More details about the animation effects you can read here.
<li> <a class="pt-trigger" href="#services" data-animation="59" data-goto="6">Services</a> </li>
You can select any of the 67 variants of the animation. To do this, you need to specify the attribute 'data-animations' with the appropriate amount of animation for the respective menu item. Example:
<li> <a class="pt-trigger" href="#services" data-animation="59" data-goto="6">Services</a> </li>
List of animation options:
1: out effect: move to Left; in effect: move from Right; 2: out effect: move to Right; in effect: move from Left; 3: out effect: move to Top; in effect: move from Bottom; 4: out effect: move to Bottom; in effect: move from Top; 5: out effect: fade; in effect: move from Right on top; 6: out effect: fade; in effect: move from Left on top; 7: out effect: fade; in effect: move from Bottom on top; 8: out effect: fade; in effect: move from Top on top; 9: out effect: move to Left Fade; in effect: move from Right Fade; 10: out effect: move to Right Fade; in effect: move from Left Fade; 11: out effect: move to Top Fade; in effect: move from Bottom Fade; 12: out effect: move to Bottom Fade; in effect: move from Top Fade; 13: out effect: move to Left Easing on top; in effect: move from Right; 14: out effect: move to Right Easing on top; in effect: move from Left; 15: out effect: move to Top Easing on top; in effect: move from Bottom; 16: out effect: move to Bottom Easing on top; in effect: move from Top; 17: out effect: scale Down; in effect: move from Right on top; 18: out effect: scale Down; in effect: move from Left on top; 19: out effect: scale Down; in effect: move from Bottom on top; 20: out effect: scale Down; in effect: move from Top on top; 21: out effect: scale Down; in effect: scale Up Down delay300; 22: out effect: scale Down Up; in effect: scale Up delay300; 23: out effect: move to Left on top; in effect: scale Up; 24: out effect: move to Right on top; in effect: scale Up; 25: out effect: move to Top on top; in effect: scale Up; 26: out effect: move to Bottom on top; in effect: scale Up; 27: out effect: scale Down Center; in effect: scale Up Center delay400; 28: out effect: rotate Right Side First; in effect: move from Right delay200 on top; 29: out effect: rotate Left Side First; in effect: move from Left delay200 on top; 30: out effect: rotate Top Side First; in effect: move from Top delay200 on top; 31: out effect: rotate Bottom Side First; in effect: move from Bottom delay200 on top; 32: out effect: flip Out Right; in effect: flip In Left delay500; 33: out effect: flip Out Left; in effect: flip In Right delay500; 34: out effect: flip Out Top; in effect: flip In Bottom delay500; 35: out effect: flip Out Bottom; in effect: flip In Top delay500; 36: out effect: rotate Fall on top; in effect: scale Up; 37: out effect: rotate Out Newspaper; in effect: rotate In Newspaper delay500; 38: out effect: rotate Push Left; in effect: move from Right; 39: out effect: rotate Push Right; in effect: move from Left; 40: out effect: rotate Push Top; in effect: move from Bottom; 41: out effect: rotate Push Bottom; in effect: move from Top; 42: out effect: rotate Push Left; in effect: rotate Pull Right delay180; 43: out effect: rotate Push Right; in effect: rotate Pull Left delay180; 44: out effect: rotate Push Top; in effect: rotate Pull Bottom delay180; 45: out effect: rotate Push Bottom; in effect: rotate Pull Top delay180; 46: out effect: rotate Fold Left; in effect: move from Right Fade; 47: out effect: rotate Fold Right; in effect: move from Left Fade; 48: out effect: rotate Fold Top; in effect: move from Bottom Fade; 49: out effect: rotate Fold Bottom; in effect: move from Top Fade; 50: out effect: move to Right Fade; in effect: rotate Unfold Left; 51: out effect: move to Left Fade; in effect: rotate Unfold Right; 52: out effect: move to Bottom Fade; in effect: rotate Unfold Top; 53: out effect: move to Top Fade; in effect: rotate Unfold Bottom; 54: out effect: rotate Room Left Out on top; in effect: rotate Room Left In; 55: out effect: rotate Room Right Out on top; in effect: rotate Room Right In; 56: out effect: rotate Room Top Out on top; in effect: rotate Room Top In; 57: out effect: rotate Room Bottom Out on top; in effect: rotate Room Bottom In; 58: out effect: rotate Cube Left Out on top; in effect: rotate Cube Left In; 59: out effect: rotate Cube Right Out on top; in effect: rotate Cube Right In; 60: out effect: rotate Cube Top Out on top; in effect: rotate Cube Top In; 61: out effect: rotate Cube Bottom Out on top; in effect: rotate Cube Bottom In; 62: out effect: rotate Carousel Left Out on top; in effect: rotate Carousel Left In; 63: out effect: rotate Carousel Right Out on top; in effect: rotate CarouselRight In; 64: out effect: rotate Carousel Top Out on top; in effect: rotate Carousel Top In; 65: out effect: rotate Carousel Bottom Out on top; in effect: rotate Carousel Bottom In; 66: out effect: rotate Sides Out; in effect: rotate Sides In delay200; 67: out effect: rotate Slide Out; in effect: rotate Slide In;
<img src="images/service/ecommerce.png" alt="E-Commerce">With this (7 stroke icons font by Pixeden. The complete set of 202 icons. Full icons list. ):
<i class="service-icon pe-7s-icon pe-7s-cart"></i>or this (Font Awesome: The complete set of 675 icons. Full icons list. ):
<i class="service-icon fa fa-shopping-cart"></i>
By analogy with the "Services" block.
Skill block:
<h4>Web Design</h4> <div class="skill-container"> <div class="skill-percentage skill-1"></div> </div>
The value for the <div class="skill-percentage skill-1"> set in the css/main.css file:
/*Skill 1*/
.skill-percentage.skill-1 {
width: 88%;
}
The structure of the "Portfolio" subpage:
<!-- Portfolio Content -->
<div class="portfolio-content">
<!-- Portfolio filter -->
<ul id="portfolio_filters" class="portfolio-filters">
<li class="active">
<a class="filter btn btn-sm btn-link active" data-group="all">All</a>
</li>
...
</ul>
<!-- End of Portfolio filter -->
<!-- Portfolio Grid -->
<div id="portfolio_grid" class="portfolio-grid portfolio-masonry masonry-grid-3">
<!-- Portfolio Item 1 -->
<figure class="item" data-groups='["all", "photography"]'>
<a class="ajax-page-load" href="portfolio-1.html">
<img src="images/portfolio/1.jpg" alt="">
<div>
<h5 class="name">Project Name</h5>
<small>Photography</small>
<i class="fa fa-long-arrow-right"></i>
</div>
</a>
</figure>
<!-- /Portfolio Item 1 -->
...
</div>
<!-- /Portfolio Grid -->
</div>
<!-- /Portfolio Content -->
Each item in the portfolio grid should be wrapped in the HTML tag <figure>...</figure>
You can add two types of content:
Link will have a class of "ajax-page-load" and the href attribute with a path to the HTML page (portfolio-1.html etc.):
<!-- Portfolio Item 1 -->
<figure class="item" data-groups='["all", "photography"]'>
<a class="ajax-page-load" href="portfolio-1.html">
<img src="images/portfolio/1.jpg" alt="">
<div>
<h5 class="name">Project Name</h5>
<small>Photography</small>
<i class="fa fa-long-arrow-right"></i>
</div>
</a>
</figure>
<!-- /Portfolio Item 1 -->
Note : To test this Ajax loading you need to place the HTML files on a web server. You can set up a local web server on your PC by installing WampServer or XAMPP. You must open the portfolio page (example portfolio-1.html) file using "http://" since Ajax makes HTTP requests.
Ajax request can be made only to the files that exist on the same web server that servers the page from which the Ajax request is sent, not to external or remote servers for security reasons. This is called same-origin policy.
<!-- Portfolio Item 3 -->
<figure class="item" data-groups='["all","webdesign"]'>
<a href="images/portfolio/3.jpg" class="lightbox" title="Duis eu Eros Viverra">
<img src="images/portfolio/3.jpg" alt="">
<div>
<h5 class="name">Project Name</h5>
<small>Web Design</small>
<i class="fa fa-image"></i>
</div>
</a>
</figure>
<!-- /Portfolio Item 3 -->
<!-- Portfolio Item 2 -->
<figure class="item" data-groups='["all", "video"]'>
<a href="https://player.vimeo.com/video/97102654?autoplay=1" title="Lihtbox Title" class="lightbox mfp-iframe">
<img src="images/portfolio/2.jpg" alt="">
<div>
<h5 class="name">Project Name</h5>
<small>Video</small>
<i class="fa fa-video-camera"></i>
</div>
</a>
</figure>
<!-- /Portfolio Item 2 -->
By default, the template uses global Google Recaptcha V2 keys, if you want to use your keys, then you can create new keys here.
1. Replace site key in the index.html:
2. Replace Site secret key in the contact_form/contact_form.php:
Adding new features to the template.
<script src='https://www.google.com/recaptcha/api.js'></script>
Immediately after this line:
<script src="js/modernizr.custom.js"></script>
<div class="g-recaptcha" data-sitekey="6LdqmCAUAAAAAMMNEZvn6g4W5e0or2sZmAVpxVqI" data-callback="correctCaptcha"></div>
Immediately before this line:
<input type="submit" class="button btn-send" value="Send message">
if (messageAlert && messageText) {
$('#contact-form').find('.messages').html(alertBox);
$('#contact-form')[0].reset();
}
if (messageAlert && messageText) {
$('#contact-form').find('.messages').html(alertBox);
if (messageAlert == "alert-success") {
$('#contact-form')[0].reset();
}
}
/* =============================================================================
12. Updates
============================================================================= */
/* v2.1 - 9 may 2017 */
.g-recaptcha {
margin-bottom: 20px;
}
You can simply replace the updated files if you have not made custom changes to them. If you made custom changes, then below is detailed instructions for updating.
/* v2.2 - 14 June 2019 */
.pt-page {
opacity: 1;
}
// Initialize Portfolio grid
var $portfolio_container = $("#portfolio-grid");
$portfolio_container.imagesLoaded(function () {
setTimeout(function(){
portfolio_init(this);
}, 500);
});
// Initialize Portfolio grid
var $portfolio_container = $(".portfolio-grid");
$portfolio_container.imagesLoaded(function () {
portfolio_init(this);
});
// Blog grid init
setTimeout(function(){
var $container = $(".blog-masonry");
$container.masonry();
}, 500);
// Blog grid init
var $container = $(".blog-masonry");
$container.imagesLoaded(function(){
$container.masonry();
});
Once again, thank you so much for purchasing this template. As I said at the beginning, I'd be glad to help you if you have any questions relating to this template.